home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / QuickTimeVR.a < prev    next >
Encoding:
Text File  |  1998-02-12  |  34.8 KB  |  1,175 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        QuickTimeVR.a
  3. ;
  4. ;    Contains:    QuickTime VR interfaces
  5. ;
  6. ;    Version:    Technology:    QuickTime VR 2.1
  7. ;                Release:    Universal Interfaces 3.1
  8. ;
  9. ;    Copyright:    © 1997-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__QUICKTIMEVR__') = 'UNDEFINED' THEN
  19. __QUICKTIMEVR__ SET 1
  20.  
  21.     IF &TYPE('__CONDITIONALMACROS__') = 'UNDEFINED' THEN
  22.     include 'ConditionalMacros.a'
  23.     ENDIF
  24.     IF &TYPE('__DIALOGS__') = 'UNDEFINED' THEN
  25.     include 'Dialogs.a'
  26.     ENDIF
  27.     IF &TYPE('__MOVIES__') = 'UNDEFINED' THEN
  28.     include 'Movies.a'
  29.     ENDIF
  30.  
  31. ; ******************************************************************************
  32. ; *                                                                           **
  33. ; * ABOUT QTVR_OLD_CALLS:                                                     **
  34. ; *                                                                           **
  35. ; * NOTE: Define QTVR_OLD_CALLS to 1 for your application makefile/project    **
  36. ; *       only if you are sure that you need to use the older calls for       **
  37. ; *       compatibility with VR 2.0 and 2.0.1 on the Macintosh                ** 
  38. ; *                                                                           **
  39. ; ****************************************************************************
  40.  
  41.     IF ¬ (&TYPE('QTVR_OLD_CALLS') <> 'UNDEFINED') THEN
  42.     QTVR_OLD_CALLS: SET 0
  43.     ENDIF
  44.  
  45.  
  46.  
  47.  
  48. kQTVRControllerSubType            EQU        'ctyp'
  49. kQTVRQTVRType                    EQU        'qtvr'
  50. kQTVRPanoramaType                EQU        'pano'
  51. kQTVRObjectType                    EQU        'obje'
  52. kQTVROldPanoType                EQU        'STpn'                ; Used in QTVR 1.0 release
  53. kQTVROldObjectType                EQU        'stna'                ; Used in QTVR 1.0 release
  54.     IF TARGET_OS_MAC THEN
  55.     ELSE
  56.     ENDIF    ; TARGET_OS_MAC
  57. ;  QTVR hot spot types
  58.  
  59. kQTVRHotSpotLinkType            EQU        'link'
  60. kQTVRHotSpotURLType                EQU        'url '
  61. kQTVRHotSpotUndefinedType        EQU        'undf'
  62. ;  Special Values for nodeID in QTVRGoToNodeID
  63.  
  64. kQTVRCurrentNode                EQU        0
  65. kQTVRPreviousNode                EQU        $80000000
  66. kQTVRDefaultNode                EQU        $80000001
  67. ;  Panorama correction modes used for the kQTVRImagingCorrection imaging property
  68.  
  69. kQTVRNoCorrection                EQU        0
  70. kQTVRPartialCorrection            EQU        1
  71. kQTVRFullCorrection                EQU        2
  72. ;  Imaging Modes used by QTVRSetImagingProperty, QTVRGetImagingProperty, QTVRUpdate, QTVRBeginUpdate
  73.  
  74. kQTVRStatic                        EQU        1
  75. kQTVRMotion                        EQU        2
  76. kQTVRCurrentMode                EQU        0                    ; Special Value for QTVRUpdate
  77. kQTVRAllModes                    EQU        100                    ; Special value for QTVRSetProperty
  78. ; typedef UInt32                         QTVRImagingMode
  79.  
  80. ;  Imaging Properties used by QTVRSetImagingProperty, QTVRGetImagingProperty
  81.  
  82. kQTVRImagingCorrection            EQU        1
  83. kQTVRImagingQuality                EQU        2
  84. kQTVRImagingDirectDraw            EQU        3
  85. kQTVRImagingCurrentMode            EQU        100                    ; Get Only
  86. ;  OR the above with kImagingDefaultValue to get/set the default value
  87.  
  88. kImagingDefaultValue            EQU        $80000000
  89. ;  Transition Types used by QTVRSetTransitionProperty, QTVREnableTransition
  90.  
  91. kQTVRTransitionSwing            EQU        1
  92. ;  Transition Properties QTVRSetTransitionProperty
  93.  
  94. kQTVRTransitionSpeed            EQU        1
  95. kQTVRTransitionDirection        EQU        2
  96. ;  Constraint values used to construct value returned by GetConstraintStatus
  97.  
  98. kQTVRUnconstrained                EQU        0
  99. kQTVRCantPanLeft                EQU        $00000001
  100. kQTVRCantPanRight                EQU        $00000002
  101. kQTVRCantPanUp                    EQU        $00000004
  102. kQTVRCantPanDown                EQU        $00000008
  103. kQTVRCantZoomIn                    EQU        $00000010
  104. kQTVRCantZoomOut                EQU        $00000020
  105. kQTVRCantTranslateLeft            EQU        $00000040
  106. kQTVRCantTranslateRight            EQU        $00000080
  107. kQTVRCantTranslateUp            EQU        $00000100
  108. kQTVRCantTranslateDown            EQU        $00000200
  109. ;  Object-only mouse mode values used to construct value returned by QTVRGetCurrentMouseMode
  110.  
  111. kQTVRPanning                    EQU        $00000001            ; standard objects, "object only" controllers
  112. kQTVRTranslating                EQU        $00000002            ; all objects
  113. kQTVRZooming                    EQU        $00000004            ; all objects
  114. kQTVRScrolling                    EQU        $00000008            ; standard object arrow scrollers and joystick object
  115. kQTVRSelecting                    EQU        $00000010            ; object absolute controller
  116. ;  Properties for use with QTVRSetInteractionProperty/GetInteractionProperty
  117.  
  118. kQTVRInteractionMouseClickHysteresis EQU 1                    ; pixels within which the mouse is considered not to have moved (UInt16)
  119. kQTVRInteractionMouseClickTimeout EQU    2                    ; ticks after which a mouse click times out and turns into panning (UInt32)
  120. kQTVRInteractionPanTiltSpeed    EQU        3                    ; control the relative pan/tilt speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;
  121. kQTVRInteractionZoomSpeed        EQU        4                    ; control the relative zooming speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;
  122. kQTVRInteractionTranslateOnMouseDown EQU 101                ; Holding MouseDown with this setting translates zoomed object movies (Boolean)
  123. kQTVRInteractionMouseMotionScale EQU    102                    ; The maximum angle of rotation caused by dragging across the display window. (* float)
  124. kQTVRInteractionNudgeMode        EQU        103                    ; A QTVRNudgeMode: rotate, translate, or the same as the current mouse mode. Requires QTVR 2.1
  125. ;  OR the above with kQTVRInteractionDefaultValue to get/set the default value
  126.  
  127. kQTVRInteractionDefaultValue    EQU        $80000000
  128.  
  129. ;  Geometry constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo
  130.  
  131. kQTVRUseMovieGeometry            EQU        0
  132. kQTVRVerticalCylinder            EQU        'vcyl'
  133. ;  Resolution constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo
  134.  
  135. kQTVRDefaultRes                    EQU        0
  136. kQTVRFullRes                    EQU        $00000001
  137. kQTVRHalfRes                    EQU        $00000002
  138. kQTVRQuarterRes                    EQU        $00000004
  139. ;  QTVR-specific pixelFormat constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo
  140.  
  141. kQTVRUseMovieDepth                EQU        0
  142. ;  Cache Size Pref constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings
  143.  
  144. kQTVRMinimumCache                EQU        -1
  145. kQTVRSuggestedCache                EQU        0
  146. kQTVRFullCache                    EQU        1
  147. ;  Angular units used by QTVRSetAngularUnits
  148.  
  149. kQTVRDegrees                    EQU        0
  150. kQTVRRadians                    EQU        1
  151. ; typedef UInt32                         QTVRAngularUnits
  152.  
  153. ;  Values for enableFlag parameter in QTVREnableHotSpot
  154.  
  155. kQTVRHotSpotID                    EQU        0
  156. kQTVRHotSpotType                EQU        1
  157. kQTVRAllHotSpots                EQU        2
  158. ;  Values for kind parameter in QTVRGet/SetConstraints, QTVRGetViewingLimits
  159.  
  160. kQTVRPan                        EQU        0
  161. kQTVRTilt                        EQU        1
  162. kQTVRFieldOfView                EQU        2
  163. kQTVRViewCenterH                EQU        4                    ; WrapAndConstrain only
  164. kQTVRViewCenterV                EQU        5                    ; WrapAndConstrain only
  165. ;  Values for setting parameter in QTVRSetAnimationSetting, QTVRGetAnimationSetting
  166.  
  167.                                                             ; View Frame Animation Settings
  168. kQTVRPalindromeViewFrames        EQU        1
  169. kQTVRStartFirstViewFrame        EQU        2
  170. kQTVRDontLoopViewFrames            EQU        3
  171. kQTVRPlayEveryViewFrame            EQU        4                    ; Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  172.                                                             ; View Animation Settings
  173. kQTVRSyncViewToFrameRate        EQU        16
  174. kQTVRPalindromeViews            EQU        17
  175. kQTVRPlayStreamingViews            EQU        18                    ; Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  176. ; typedef UInt32                         QTVRObjectAnimationSetting
  177.  
  178.  
  179. kQTVRWrapPan                    EQU        1
  180. kQTVRWrapTilt                    EQU        2
  181. kQTVRCanZoom                    EQU        3
  182. kQTVRReverseHControl            EQU        4
  183. kQTVRReverseVControl            EQU        5
  184. kQTVRSwapHVControl                EQU        6
  185. kQTVRTranslation                EQU        7
  186. ; typedef UInt32                         QTVRControlSetting
  187.  
  188.  
  189. kQTVRDefault                    EQU        0
  190. kQTVRCurrent                    EQU        2
  191. kQTVRMouseDown                    EQU        3
  192. ; typedef UInt32                         QTVRViewStateType
  193.  
  194.  
  195. kQTVRRight                        EQU        0
  196. kQTVRUpRight                    EQU        45
  197. kQTVRUp                            EQU        90
  198. kQTVRUpLeft                        EQU        135
  199. kQTVRLeft                        EQU        180
  200. kQTVRDownLeft                    EQU        225
  201. kQTVRDown                        EQU        270
  202. kQTVRDownRight                    EQU        315
  203. ; typedef UInt32                         QTVRNudgeControl
  204.  
  205.  
  206. kQTVRNudgeRotate                EQU        0
  207. kQTVRNudgeTranslate                EQU        1
  208. kQTVRNudgeSameAsMouse            EQU        2
  209. ; typedef UInt32                         QTVRNudgeMode
  210.  
  211. ;  Flags to control elements of the QTVR control bar (set via mcActionSetFlags) 
  212.  
  213. mcFlagQTVRSuppressBackBtn        EQU        $00010000
  214. mcFlagQTVRSuppressZoomBtns        EQU        $00020000
  215. mcFlagQTVRSuppressHotSpotBtn    EQU        $00040000
  216. mcFlagQTVRSuppressTranslateBtn    EQU        $00080000
  217. mcFlagQTVRSuppressHelpText        EQU        $00100000
  218. mcFlagQTVRSuppressHotSpotNames    EQU        $00200000
  219. mcFlagQTVRExplicitFlagSet        EQU        $80000000            ; bits 0->30 should be interpreted as "explicit on" for the corresponding suppression bits
  220. ;  Cursor types used in type field of QTVRCursorRecord
  221.  
  222. kQTVRUseDefaultCursor            EQU        0
  223. kQTVRStdCursorType                EQU        1
  224. kQTVRColorCursorType            EQU        2
  225. ;  Values for flags parameter in QTVRMouseOverHotSpot callback
  226.  
  227. kQTVRHotSpotEnter                EQU        0
  228. kQTVRHotSpotWithin                EQU        1
  229. kQTVRHotSpotLeave                EQU        2
  230. ;  Values for flags parameter in QTVRSetPrescreenImagingCompleteProc
  231.  
  232. kQTVRPreScreenEveryIdle            EQU        $00000001            ; Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  233. ;  Values for flags field of areasOfInterest in QTVRSetBackBufferImagingProc
  234.  
  235. kQTVRBackBufferEveryUpdate        EQU        $00000001
  236. kQTVRBackBufferEveryIdle        EQU        $00000002
  237. kQTVRBackBufferAlwaysRefresh    EQU        $00000004
  238. ;  Values for flagsIn parameter in QTVRBackBufferImaging callback
  239.  
  240. kQTVRBackBufferRectVisible        EQU        $00000001
  241. kQTVRBackBufferWasRefreshed        EQU        $00000002
  242. ;  Values for flagsOut parameter in QTVRBackBufferImaging callback
  243.  
  244. kQTVRBackBufferFlagDidDraw        EQU        $00000001
  245. kQTVRBackBufferFlagLastFlag        EQU        $80000000
  246. ;  QTVRCursorRecord used in QTVRReplaceCursor
  247. QTVRCursorRecord        RECORD 0
  248. theType                     ds.w    1                ; offset: $0 (0)        ;  field was previously named "type"
  249. rsrcID                     ds.w    1                ; offset: $2 (2)
  250. handle                     ds.l    1                ; offset: $4 (4)
  251. sizeof                     EQU *                    ; size:   $8 (8)
  252.                         ENDR
  253. QTVRFloatPoint            RECORD 0
  254. x                         ds        Float32            ; offset: $0 (0)
  255. y                         ds        Float32            ; offset: $4 (4)
  256. sizeof                     EQU *                    ; size:   $8 (8)
  257.                         ENDR
  258. ;  Struct used for areasOfInterest parameter in QTVRSetBackBufferImagingProc
  259. QTVRAreaOfInterest        RECORD 0
  260. panAngle                 ds        Float32            ; offset: $0 (0)
  261. tiltAngle                 ds        Float32            ; offset: $4 (4)
  262. width                     ds        Float32            ; offset: $8 (8)
  263. height                     ds        Float32            ; offset: $C (12)
  264. flags                     ds.l    1                ; offset: $10 (16)
  265. sizeof                     EQU *                    ; size:   $14 (20)
  266.                         ENDR
  267.  
  268. ;  =================================================================================================
  269. ;   Callback routines 
  270. ;  -------------------------------------------------------------------------------------------------
  271.  
  272.  
  273.  
  274.  
  275. ;  =================================================================================================
  276. ;    QTVR Intercept Struct, Callback, Routine Descriptors 
  277. ;  -------------------------------------------------------------------------------------------------
  278.  
  279.  
  280.  
  281.  
  282. kQTVRSetPanAngleSelector        EQU        $2000
  283. kQTVRSetTiltAngleSelector        EQU        $2001
  284. kQTVRSetFieldOfViewSelector        EQU        $2002
  285. kQTVRSetViewCenterSelector        EQU        $2003
  286. kQTVRMouseEnterSelector            EQU        $2004
  287. kQTVRMouseWithinSelector        EQU        $2005
  288. kQTVRMouseLeaveSelector            EQU        $2006
  289. kQTVRMouseDownSelector            EQU        $2007
  290. kQTVRMouseStillDownSelector        EQU        $2008
  291. kQTVRMouseUpSelector            EQU        $2009
  292. kQTVRTriggerHotSpotSelector        EQU        $200A
  293. kQTVRGetHotSpotTypeSelector        EQU        $200B                ; Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  294. ; typedef UInt32                         QTVRProcSelector
  295.  
  296. QTVRInterceptRecord        RECORD 0
  297. reserved1                 ds.l    1                ; offset: $0 (0)
  298. selector                 ds.l    1                ; offset: $4 (4)
  299. reserved2                 ds.l    1                ; offset: $8 (8)
  300. reserved3                 ds.l    1                ; offset: $C (12)
  301. paramCount                 ds.l    1                ; offset: $10 (16)
  302. parameter                 ds.l    6                ; offset: $14 (20)
  303. sizeof                     EQU *                    ; size:   $2C (44)
  304.                         ENDR
  305. ; typedef struct QTVRInterceptRecord *    QTVRInterceptPtr
  306.  
  307. ;  Prototype for Intercept Proc callback
  308.  
  309. ;  =================================================================================================
  310. ;    Initialization QTVR calls 
  311. ;  -------------------------------------------------------------------------------------------------
  312. ;   Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10) and only work on Non-Macintosh platforms
  313.  
  314.  
  315.     IF ¬ TARGET_OS_MAC THEN
  316. ;
  317. ; extern OSErr InitializeQTVR(void )
  318. ;
  319.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  320.         IMPORT_CFM_FUNCTION InitializeQTVR
  321.     ENDIF
  322.  
  323. ;
  324. ; extern OSErr TerminateQTVR(void )
  325. ;
  326.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  327.         IMPORT_CFM_FUNCTION TerminateQTVR
  328.     ENDIF
  329.  
  330.     ENDIF
  331.  
  332. ;  =================================================================================================
  333. ;    General QTVR calls 
  334. ;  -------------------------------------------------------------------------------------------------
  335.  
  336.  
  337. ;
  338. ; extern Track QTVRGetQTVRTrack(Movie theMovie, SInt32 index)
  339. ;
  340.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  341.         IMPORT_CFM_FUNCTION QTVRGetQTVRTrack
  342.     ENDIF
  343.  
  344. ;
  345. ; extern OSErr QTVRGetQTVRInstance(QTVRInstance *qtvr, Track qtvrTrack, MovieController mc)
  346. ;
  347.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  348.         IMPORT_CFM_FUNCTION QTVRGetQTVRInstance
  349.     ENDIF
  350.  
  351.  
  352. ;  =================================================================================================
  353. ;    Viewing Angles and Zooming 
  354. ;  -------------------------------------------------------------------------------------------------
  355.  
  356.  
  357.  
  358. ;
  359. ; extern OSErr QTVRSetPanAngle(QTVRInstance qtvr, float panAngle)
  360. ;
  361.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  362.         IMPORT_CFM_FUNCTION QTVRSetPanAngle
  363.     ENDIF
  364.  
  365. ;
  366. ; extern float QTVRGetPanAngle(QTVRInstance qtvr)
  367. ;
  368.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  369.         IMPORT_CFM_FUNCTION QTVRGetPanAngle
  370.     ENDIF
  371.  
  372. ;
  373. ; extern OSErr QTVRSetTiltAngle(QTVRInstance qtvr, float tiltAngle)
  374. ;
  375.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  376.         IMPORT_CFM_FUNCTION QTVRSetTiltAngle
  377.     ENDIF
  378.  
  379. ;
  380. ; extern float QTVRGetTiltAngle(QTVRInstance qtvr)
  381. ;
  382.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  383.         IMPORT_CFM_FUNCTION QTVRGetTiltAngle
  384.     ENDIF
  385.  
  386. ;
  387. ; extern OSErr QTVRSetFieldOfView(QTVRInstance qtvr, float fieldOfView)
  388. ;
  389.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  390.         IMPORT_CFM_FUNCTION QTVRSetFieldOfView
  391.     ENDIF
  392.  
  393. ;
  394. ; extern float QTVRGetFieldOfView(QTVRInstance qtvr)
  395. ;
  396.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  397.         IMPORT_CFM_FUNCTION QTVRGetFieldOfView
  398.     ENDIF
  399.  
  400. ;
  401. ; extern OSErr QTVRShowDefaultView(QTVRInstance qtvr)
  402. ;
  403.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  404.         IMPORT_CFM_FUNCTION QTVRShowDefaultView
  405.     ENDIF
  406.  
  407. ;  Object Specific
  408. ;
  409. ; extern OSErr QTVRSetViewCenter(QTVRInstance qtvr, const QTVRFloatPoint *viewCenter)
  410. ;
  411.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  412.         IMPORT_CFM_FUNCTION QTVRSetViewCenter
  413.     ENDIF
  414.  
  415. ;
  416. ; extern OSErr QTVRGetViewCenter(QTVRInstance qtvr, QTVRFloatPoint *viewCenter)
  417. ;
  418.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  419.         IMPORT_CFM_FUNCTION QTVRGetViewCenter
  420.     ENDIF
  421.  
  422. ;
  423. ; extern OSErr QTVRNudge(QTVRInstance qtvr, QTVRNudgeControl direction)
  424. ;
  425.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  426.         IMPORT_CFM_FUNCTION QTVRNudge
  427.     ENDIF
  428.  
  429. ;  QTVRInteractionNudge requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  430. ;
  431. ; extern OSErr QTVRInteractionNudge(QTVRInstance qtvr, QTVRNudgeControl direction)
  432. ;
  433.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  434.         IMPORT_CFM_FUNCTION QTVRInteractionNudge
  435.     ENDIF
  436.  
  437.  
  438. ;  =================================================================================================
  439. ;    Scene and Node Location Information 
  440. ;  -------------------------------------------------------------------------------------------------
  441.  
  442.  
  443.  
  444. ;
  445. ; extern OSErr QTVRGetVRWorld(QTVRInstance qtvr, QTAtomContainer *VRWorld)
  446. ;
  447.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  448.         IMPORT_CFM_FUNCTION QTVRGetVRWorld
  449.     ENDIF
  450.  
  451. ;
  452. ; extern OSErr QTVRGetNodeInfo(QTVRInstance qtvr, UInt32 nodeID, QTAtomContainer *nodeInfo)
  453. ;
  454.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  455.         IMPORT_CFM_FUNCTION QTVRGetNodeInfo
  456.     ENDIF
  457.  
  458. ;
  459. ; extern OSErr QTVRGoToNodeID(QTVRInstance qtvr, UInt32 nodeID)
  460. ;
  461.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  462.         IMPORT_CFM_FUNCTION QTVRGoToNodeID
  463.     ENDIF
  464.  
  465. ;
  466. ; extern UInt32 QTVRGetCurrentNodeID(QTVRInstance qtvr)
  467. ;
  468.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  469.         IMPORT_CFM_FUNCTION QTVRGetCurrentNodeID
  470.     ENDIF
  471.  
  472. ;
  473. ; extern OSType QTVRGetNodeType(QTVRInstance qtvr, UInt32 nodeID)
  474. ;
  475.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  476.         IMPORT_CFM_FUNCTION QTVRGetNodeType
  477.     ENDIF
  478.  
  479.  
  480. ;  =================================================================================================
  481. ;    Hot Spot related calls 
  482. ;  -------------------------------------------------------------------------------------------------
  483.  
  484.  
  485.  
  486. ;
  487. ; extern OSErr QTVRPtToHotSpotID(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID)
  488. ;
  489.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  490.         IMPORT_CFM_FUNCTION QTVRPtToHotSpotID
  491.     ENDIF
  492.  
  493. ;  QTVRGetHotSpotType requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  494. ;
  495. ; extern OSErr QTVRGetHotSpotType(QTVRInstance qtvr, UInt32 hotSpotID, OSType *hotSpotType)
  496. ;
  497.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  498.         IMPORT_CFM_FUNCTION QTVRGetHotSpotType
  499.     ENDIF
  500.  
  501. ;
  502. ; extern OSErr QTVRTriggerHotSpot(QTVRInstance qtvr, UInt32 hotSpotID, QTAtomContainer nodeInfo, QTAtom selectedAtom)
  503. ;
  504.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  505.         IMPORT_CFM_FUNCTION QTVRTriggerHotSpot
  506.     ENDIF
  507.  
  508. ;
  509. ; extern OSErr QTVRSetMouseOverHotSpotProc(QTVRInstance qtvr, QTVRMouseOverHotSpotUPP mouseOverHotSpotProc, SInt32 refCon, UInt32 flags)
  510. ;
  511.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  512.         IMPORT_CFM_FUNCTION QTVRSetMouseOverHotSpotProc
  513.     ENDIF
  514.  
  515. ;
  516. ; extern OSErr QTVREnableHotSpot(QTVRInstance qtvr, UInt32 enableFlag, UInt32 hotSpotValue, Boolean enable)
  517. ;
  518.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  519.         IMPORT_CFM_FUNCTION QTVREnableHotSpot
  520.     ENDIF
  521.  
  522. ;
  523. ; extern UInt32 QTVRGetVisibleHotSpots(QTVRInstance qtvr, Handle hotSpots)
  524. ;
  525.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  526.         IMPORT_CFM_FUNCTION QTVRGetVisibleHotSpots
  527.     ENDIF
  528.  
  529. ;
  530. ; extern OSErr QTVRGetHotSpotRegion(QTVRInstance qtvr, UInt32 hotSpotID, RgnHandle hotSpotRegion)
  531. ;
  532.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  533.         IMPORT_CFM_FUNCTION QTVRGetHotSpotRegion
  534.     ENDIF
  535.  
  536.  
  537. ;  =================================================================================================
  538. ;    Event & Cursor Handling Calls 
  539. ;  -------------------------------------------------------------------------------------------------
  540.  
  541.  
  542.  
  543. ;
  544. ; extern OSErr QTVRSetMouseOverTracking(QTVRInstance qtvr, Boolean enable)
  545. ;
  546.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  547.         IMPORT_CFM_FUNCTION QTVRSetMouseOverTracking
  548.     ENDIF
  549.  
  550. ;
  551. ; extern Boolean QTVRGetMouseOverTracking(QTVRInstance qtvr)
  552. ;
  553.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  554.         IMPORT_CFM_FUNCTION QTVRGetMouseOverTracking
  555.     ENDIF
  556.  
  557. ;
  558. ; extern OSErr QTVRSetMouseDownTracking(QTVRInstance qtvr, Boolean enable)
  559. ;
  560.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  561.         IMPORT_CFM_FUNCTION QTVRSetMouseDownTracking
  562.     ENDIF
  563.  
  564. ;
  565. ; extern Boolean QTVRGetMouseDownTracking(QTVRInstance qtvr)
  566. ;
  567.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  568.         IMPORT_CFM_FUNCTION QTVRGetMouseDownTracking
  569.     ENDIF
  570.  
  571. ;
  572. ; extern OSErr QTVRMouseEnter(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w)
  573. ;
  574.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  575.         IMPORT_CFM_FUNCTION QTVRMouseEnter
  576.     ENDIF
  577.  
  578. ;
  579. ; extern OSErr QTVRMouseWithin(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w)
  580. ;
  581.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  582.         IMPORT_CFM_FUNCTION QTVRMouseWithin
  583.     ENDIF
  584.  
  585. ;
  586. ; extern OSErr QTVRMouseLeave(QTVRInstance qtvr, Point pt, WindowPtr w)
  587. ;
  588.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  589.         IMPORT_CFM_FUNCTION QTVRMouseLeave
  590.     ENDIF
  591.  
  592. ;
  593. ; extern OSErr QTVRMouseDown(QTVRInstance qtvr, Point pt, UInt32 when, UInt16 modifiers, UInt32 *hotSpotID, WindowPtr w)
  594. ;
  595.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  596.         IMPORT_CFM_FUNCTION QTVRMouseDown
  597.     ENDIF
  598.  
  599. ;
  600. ; extern OSErr QTVRMouseStillDown(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w)
  601. ;
  602.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  603.         IMPORT_CFM_FUNCTION QTVRMouseStillDown
  604.     ENDIF
  605.  
  606. ;
  607. ; extern OSErr QTVRMouseUp(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w)
  608. ;
  609.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  610.         IMPORT_CFM_FUNCTION QTVRMouseUp
  611.     ENDIF
  612.  
  613. ;  These require QTVR 2.01 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion01)
  614. ;
  615. ; extern OSErr QTVRMouseStillDownExtended(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w, UInt32 when, UInt16 modifiers)
  616. ;
  617.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  618.         IMPORT_CFM_FUNCTION QTVRMouseStillDownExtended
  619.     ENDIF
  620.  
  621. ;
  622. ; extern OSErr QTVRMouseUpExtended(QTVRInstance qtvr, Point pt, UInt32 *hotSpotID, WindowPtr w, UInt32 when, UInt16 modifiers)
  623. ;
  624.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  625.         IMPORT_CFM_FUNCTION QTVRMouseUpExtended
  626.     ENDIF
  627.  
  628.  
  629. ;  =================================================================================================
  630. ;    Intercept Routines 
  631. ;  -------------------------------------------------------------------------------------------------
  632.  
  633.  
  634.  
  635. ;
  636. ; extern OSErr QTVRInstallInterceptProc(QTVRInstance qtvr, QTVRProcSelector selector, QTVRInterceptUPP interceptProc, SInt32 refCon, UInt32 flags)
  637. ;
  638.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  639.         IMPORT_CFM_FUNCTION QTVRInstallInterceptProc
  640.     ENDIF
  641.  
  642. ;
  643. ; extern OSErr QTVRCallInterceptedProc(QTVRInstance qtvr, QTVRInterceptRecord *qtvrMsg)
  644. ;
  645.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  646.         IMPORT_CFM_FUNCTION QTVRCallInterceptedProc
  647.     ENDIF
  648.  
  649.  
  650. ;  =================================================================================================
  651. ;    Object Movie Specific Calls 
  652. ;  -------------------------------------------------------------------------------------------------
  653. ;   QTVRGetCurrentMouseMode requires QTRVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  654.  
  655.  
  656. ;
  657. ; extern UInt32 QTVRGetCurrentMouseMode(QTVRInstance qtvr)
  658. ;
  659.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  660.         IMPORT_CFM_FUNCTION QTVRGetCurrentMouseMode
  661.     ENDIF
  662.  
  663. ;
  664. ; extern OSErr QTVRSetFrameRate(QTVRInstance qtvr, float rate)
  665. ;
  666.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  667.         IMPORT_CFM_FUNCTION QTVRSetFrameRate
  668.     ENDIF
  669.  
  670. ;
  671. ; extern float QTVRGetFrameRate(QTVRInstance qtvr)
  672. ;
  673.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  674.         IMPORT_CFM_FUNCTION QTVRGetFrameRate
  675.     ENDIF
  676.  
  677. ;
  678. ; extern OSErr QTVRSetViewRate(QTVRInstance qtvr, float rate)
  679. ;
  680.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  681.         IMPORT_CFM_FUNCTION QTVRSetViewRate
  682.     ENDIF
  683.  
  684. ;
  685. ; extern float QTVRGetViewRate(QTVRInstance qtvr)
  686. ;
  687.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  688.         IMPORT_CFM_FUNCTION QTVRGetViewRate
  689.     ENDIF
  690.  
  691. ;
  692. ; extern OSErr QTVRSetViewCurrentTime(QTVRInstance qtvr, TimeValue time)
  693. ;
  694.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  695.         IMPORT_CFM_FUNCTION QTVRSetViewCurrentTime
  696.     ENDIF
  697.  
  698. ;
  699. ; extern TimeValue QTVRGetViewCurrentTime(QTVRInstance qtvr)
  700. ;
  701.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  702.         IMPORT_CFM_FUNCTION QTVRGetViewCurrentTime
  703.     ENDIF
  704.  
  705. ;
  706. ; extern TimeValue QTVRGetCurrentViewDuration(QTVRInstance qtvr)
  707. ;
  708.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  709.         IMPORT_CFM_FUNCTION QTVRGetCurrentViewDuration
  710.     ENDIF
  711.  
  712.  
  713. ;  =================================================================================================
  714. ;   View State Calls - QTVR Object Only
  715. ;  -------------------------------------------------------------------------------------------------
  716.  
  717.  
  718.  
  719. ;
  720. ; extern OSErr QTVRSetViewState(QTVRInstance qtvr, QTVRViewStateType viewStateType, UInt16 state)
  721. ;
  722.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  723.         IMPORT_CFM_FUNCTION QTVRSetViewState
  724.     ENDIF
  725.  
  726. ;
  727. ; extern OSErr QTVRGetViewState(QTVRInstance qtvr, QTVRViewStateType viewStateType, UInt16 *state)
  728. ;
  729.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  730.         IMPORT_CFM_FUNCTION QTVRGetViewState
  731.     ENDIF
  732.  
  733. ;
  734. ; extern UInt16 QTVRGetViewStateCount(QTVRInstance qtvr)
  735. ;
  736.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  737.         IMPORT_CFM_FUNCTION QTVRGetViewStateCount
  738.     ENDIF
  739.  
  740. ;
  741. ; extern OSErr QTVRSetAnimationSetting(QTVRInstance qtvr, QTVRObjectAnimationSetting setting, Boolean enable)
  742. ;
  743.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  744.         IMPORT_CFM_FUNCTION QTVRSetAnimationSetting
  745.     ENDIF
  746.  
  747. ;
  748. ; extern OSErr QTVRGetAnimationSetting(QTVRInstance qtvr, QTVRObjectAnimationSetting setting, Boolean *enable)
  749. ;
  750.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  751.         IMPORT_CFM_FUNCTION QTVRGetAnimationSetting
  752.     ENDIF
  753.  
  754. ;
  755. ; extern OSErr QTVRSetControlSetting(QTVRInstance qtvr, QTVRControlSetting setting, Boolean enable)
  756. ;
  757.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  758.         IMPORT_CFM_FUNCTION QTVRSetControlSetting
  759.     ENDIF
  760.  
  761. ;
  762. ; extern OSErr QTVRGetControlSetting(QTVRInstance qtvr, QTVRControlSetting setting, Boolean *enable)
  763. ;
  764.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  765.         IMPORT_CFM_FUNCTION QTVRGetControlSetting
  766.     ENDIF
  767.  
  768. ;
  769. ; extern OSErr QTVREnableFrameAnimation(QTVRInstance qtvr, Boolean enable)
  770. ;
  771.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  772.         IMPORT_CFM_FUNCTION QTVREnableFrameAnimation
  773.     ENDIF
  774.  
  775. ;
  776. ; extern Boolean QTVRGetFrameAnimation(QTVRInstance qtvr)
  777. ;
  778.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  779.         IMPORT_CFM_FUNCTION QTVRGetFrameAnimation
  780.     ENDIF
  781.  
  782. ;
  783. ; extern OSErr QTVREnableViewAnimation(QTVRInstance qtvr, Boolean enable)
  784. ;
  785.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  786.         IMPORT_CFM_FUNCTION QTVREnableViewAnimation
  787.     ENDIF
  788.  
  789. ;
  790. ; extern Boolean QTVRGetViewAnimation(QTVRInstance qtvr)
  791. ;
  792.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  793.         IMPORT_CFM_FUNCTION QTVRGetViewAnimation
  794.     ENDIF
  795.  
  796.  
  797.  
  798. ;  =================================================================================================
  799. ;    Imaging Characteristics 
  800. ;  -------------------------------------------------------------------------------------------------
  801.  
  802.  
  803.  
  804. ;
  805. ; extern OSErr QTVRSetVisible(QTVRInstance qtvr, Boolean visible)
  806. ;
  807.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  808.         IMPORT_CFM_FUNCTION QTVRSetVisible
  809.     ENDIF
  810.  
  811. ;
  812. ; extern Boolean QTVRGetVisible(QTVRInstance qtvr)
  813. ;
  814.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  815.         IMPORT_CFM_FUNCTION QTVRGetVisible
  816.     ENDIF
  817.  
  818. ;
  819. ; extern OSErr QTVRSetImagingProperty(QTVRInstance qtvr, QTVRImagingMode imagingMode, UInt32 imagingProperty, SInt32 propertyValue)
  820. ;
  821.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  822.         IMPORT_CFM_FUNCTION QTVRSetImagingProperty
  823.     ENDIF
  824.  
  825. ;
  826. ; extern OSErr QTVRGetImagingProperty(QTVRInstance qtvr, QTVRImagingMode imagingMode, UInt32 imagingProperty, SInt32 *propertyValue)
  827. ;
  828.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  829.         IMPORT_CFM_FUNCTION QTVRGetImagingProperty
  830.     ENDIF
  831.  
  832. ;
  833. ; extern OSErr QTVRUpdate(QTVRInstance qtvr, QTVRImagingMode imagingMode)
  834. ;
  835.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  836.         IMPORT_CFM_FUNCTION QTVRUpdate
  837.     ENDIF
  838.  
  839. ;
  840. ; extern OSErr QTVRBeginUpdateStream(QTVRInstance qtvr, QTVRImagingMode imagingMode)
  841. ;
  842.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  843.         IMPORT_CFM_FUNCTION QTVRBeginUpdateStream
  844.     ENDIF
  845.  
  846. ;
  847. ; extern OSErr QTVREndUpdateStream(QTVRInstance qtvr)
  848. ;
  849.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  850.         IMPORT_CFM_FUNCTION QTVREndUpdateStream
  851.     ENDIF
  852.  
  853. ;
  854. ; extern OSErr QTVRSetTransitionProperty(QTVRInstance qtvr, UInt32 transitionType, UInt32 transitionProperty, SInt32 transitionValue)
  855. ;
  856.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  857.         IMPORT_CFM_FUNCTION QTVRSetTransitionProperty
  858.     ENDIF
  859.  
  860. ;
  861. ; extern OSErr QTVREnableTransition(QTVRInstance qtvr, UInt32 transitionType, Boolean enable)
  862. ;
  863.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  864.         IMPORT_CFM_FUNCTION QTVREnableTransition
  865.     ENDIF
  866.  
  867.  
  868. ;  =================================================================================================
  869. ;    Basic Conversion and Math Routines 
  870. ;  -------------------------------------------------------------------------------------------------
  871.  
  872.  
  873.  
  874. ;
  875. ; extern OSErr QTVRSetAngularUnits(QTVRInstance qtvr, QTVRAngularUnits units)
  876. ;
  877.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  878.         IMPORT_CFM_FUNCTION QTVRSetAngularUnits
  879.     ENDIF
  880.  
  881. ;
  882. ; extern QTVRAngularUnits QTVRGetAngularUnits(QTVRInstance qtvr)
  883. ;
  884.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  885.         IMPORT_CFM_FUNCTION QTVRGetAngularUnits
  886.     ENDIF
  887.  
  888. ;  Pano specific routines
  889. ;
  890. ; extern OSErr QTVRPtToAngles(QTVRInstance qtvr, Point pt, float *panAngle, float *tiltAngle)
  891. ;
  892.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  893.         IMPORT_CFM_FUNCTION QTVRPtToAngles
  894.     ENDIF
  895.  
  896. ;
  897. ; extern OSErr QTVRCoordToAngles(QTVRInstance qtvr, QTVRFloatPoint *coord, float *panAngle, float *tiltAngle)
  898. ;
  899.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  900.         IMPORT_CFM_FUNCTION QTVRCoordToAngles
  901.     ENDIF
  902.  
  903. ;
  904. ; extern OSErr QTVRAnglesToCoord(QTVRInstance qtvr, float panAngle, float tiltAngle, QTVRFloatPoint *coord)
  905. ;
  906.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  907.         IMPORT_CFM_FUNCTION QTVRAnglesToCoord
  908.     ENDIF
  909.  
  910. ;  Object specific routines
  911. ;
  912. ; extern short QTVRPanToColumn(QTVRInstance qtvr, float panAngle)
  913. ;
  914.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  915.         IMPORT_CFM_FUNCTION QTVRPanToColumn
  916.     ENDIF
  917.  
  918. ;  zero based    
  919. ;
  920. ; extern float QTVRColumnToPan(QTVRInstance qtvr, short column)
  921. ;
  922.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  923.         IMPORT_CFM_FUNCTION QTVRColumnToPan
  924.     ENDIF
  925.  
  926. ;  zero based    
  927. ;
  928. ; extern short QTVRTiltToRow(QTVRInstance qtvr, float tiltAngle)
  929. ;
  930.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  931.         IMPORT_CFM_FUNCTION QTVRTiltToRow
  932.     ENDIF
  933.  
  934. ;  zero based    
  935. ;
  936. ; extern float QTVRRowToTilt(QTVRInstance qtvr, short row)
  937. ;
  938.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  939.         IMPORT_CFM_FUNCTION QTVRRowToTilt
  940.     ENDIF
  941.  
  942. ;  zero based                
  943. ;
  944. ; extern OSErr QTVRWrapAndConstrain(QTVRInstance qtvr, short kind, float value, float *result)
  945. ;
  946.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  947.         IMPORT_CFM_FUNCTION QTVRWrapAndConstrain
  948.     ENDIF
  949.  
  950.  
  951.  
  952. ;  =================================================================================================
  953. ;    Interaction Routines 
  954. ;  -------------------------------------------------------------------------------------------------
  955.  
  956.  
  957.  
  958. ;
  959. ; extern OSErr QTVRSetEnteringNodeProc(QTVRInstance qtvr, QTVREnteringNodeUPP enteringNodeProc, SInt32 refCon, UInt32 flags)
  960. ;
  961.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  962.         IMPORT_CFM_FUNCTION QTVRSetEnteringNodeProc
  963.     ENDIF
  964.  
  965. ;
  966. ; extern OSErr QTVRSetLeavingNodeProc(QTVRInstance qtvr, QTVRLeavingNodeUPP leavingNodeProc, SInt32 refCon, UInt32 flags)
  967. ;
  968.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  969.         IMPORT_CFM_FUNCTION QTVRSetLeavingNodeProc
  970.     ENDIF
  971.  
  972. ;
  973. ; extern OSErr QTVRSetInteractionProperty(QTVRInstance qtvr, UInt32 property, void *value)
  974. ;
  975.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  976.         IMPORT_CFM_FUNCTION QTVRSetInteractionProperty
  977.     ENDIF
  978.  
  979. ;
  980. ; extern OSErr QTVRGetInteractionProperty(QTVRInstance qtvr, UInt32 property, void *value)
  981. ;
  982.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  983.         IMPORT_CFM_FUNCTION QTVRGetInteractionProperty
  984.     ENDIF
  985.  
  986. ;
  987. ; extern OSErr QTVRReplaceCursor(QTVRInstance qtvr, QTVRCursorRecord *cursRecord)
  988. ;
  989.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  990.         IMPORT_CFM_FUNCTION QTVRReplaceCursor
  991.     ENDIF
  992.  
  993.  
  994. ;  =================================================================================================
  995. ;    Viewing Limits and Constraints 
  996. ;  -------------------------------------------------------------------------------------------------
  997.  
  998.  
  999.  
  1000. ;
  1001. ; extern OSErr QTVRGetViewingLimits(QTVRInstance qtvr, UInt16 kind, float *minValue, float *maxValue)
  1002. ;
  1003.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1004.         IMPORT_CFM_FUNCTION QTVRGetViewingLimits
  1005.     ENDIF
  1006.  
  1007. ;
  1008. ; extern UInt32 QTVRGetConstraintStatus(QTVRInstance qtvr)
  1009. ;
  1010.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1011.         IMPORT_CFM_FUNCTION QTVRGetConstraintStatus
  1012.     ENDIF
  1013.  
  1014. ;
  1015. ; extern OSErr QTVRGetConstraints(QTVRInstance qtvr, UInt16 kind, float *minValue, float *maxValue)
  1016. ;
  1017.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1018.         IMPORT_CFM_FUNCTION QTVRGetConstraints
  1019.     ENDIF
  1020.  
  1021. ;
  1022. ; extern OSErr QTVRSetConstraints(QTVRInstance qtvr, UInt16 kind, float minValue, float maxValue)
  1023. ;
  1024.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1025.         IMPORT_CFM_FUNCTION QTVRSetConstraints
  1026.     ENDIF
  1027.  
  1028.  
  1029.  
  1030. ;  =================================================================================================
  1031. ;    Back Buffer Memory Management 
  1032. ;  -------------------------------------------------------------------------------------------------
  1033.  
  1034.  
  1035.  
  1036. ;
  1037. ; extern OSErr QTVRGetAvailableResolutions(QTVRInstance qtvr, UInt16 *resolutionsMask)
  1038. ;
  1039.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1040.         IMPORT_CFM_FUNCTION QTVRGetAvailableResolutions
  1041.     ENDIF
  1042.  
  1043. ;  These require QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  1044. ;
  1045. ; extern OSErr QTVRGetBackBufferMemInfo(QTVRInstance qtvr, UInt32 geometry, UInt16 resolution, UInt32 cachePixelFormat, SInt32 *minCacheBytes, SInt32 *suggestedCacheBytes, SInt32 *fullCacheBytes)
  1046. ;
  1047.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1048.         IMPORT_CFM_FUNCTION QTVRGetBackBufferMemInfo
  1049.     ENDIF
  1050.  
  1051. ;
  1052. ; extern OSErr QTVRGetBackBufferSettings(QTVRInstance qtvr, UInt32 *geometry, UInt16 *resolution, UInt32 *cachePixelFormat, SInt16 *cacheSize)
  1053. ;
  1054.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1055.         IMPORT_CFM_FUNCTION QTVRGetBackBufferSettings
  1056.     ENDIF
  1057.  
  1058. ;
  1059. ; extern OSErr QTVRSetBackBufferPrefs(QTVRInstance qtvr, UInt32 geometry, UInt16 resolution, UInt32 cachePixelFormat, SInt16 cacheSize)
  1060. ;
  1061.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1062.         IMPORT_CFM_FUNCTION QTVRSetBackBufferPrefs
  1063.     ENDIF
  1064.  
  1065.     IF QTVR_OLD_CALLS THEN
  1066.     IF TARGET_OS_MAC THEN
  1067.  
  1068. ;   These ≈Cache≈ calls have been replaced with the ≈BackBuffer≈ versions above.
  1069. ;   However, the ≈BackBuffer≈ calls require QuickTime VR 2.1 to work;
  1070. ;    these calls will work with QuickTime VR 2.0 and 2.0.1, but only on a Macintosh.
  1071.  
  1072.  
  1073. ;
  1074. ; extern OSErr QTVRGetCacheMemInfo(QTVRInstance qtvr, UInt16 resolution, SInt16 cacheDepth, SInt32 *minCacheBytes, SInt32 *suggestedCacheBytes, SInt32 *fullCacheBytes)
  1075. ;
  1076.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1077.         IMPORT_CFM_FUNCTION QTVRGetCacheMemInfo
  1078.     ENDIF
  1079.  
  1080. ;
  1081. ; extern OSErr QTVRGetCacheSettings(QTVRInstance qtvr, UInt16 *resolution, SInt16 *cacheDepth, SInt16 *cacheSize)
  1082. ;
  1083.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1084.         IMPORT_CFM_FUNCTION QTVRGetCacheSettings
  1085.     ENDIF
  1086.  
  1087. ;
  1088. ; extern OSErr QTVRSetCachePrefs(QTVRInstance qtvr, UInt16 resolution, SInt16 cacheDepth, SInt16 cacheSize)
  1089. ;
  1090.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1091.         IMPORT_CFM_FUNCTION QTVRSetCachePrefs
  1092.     ENDIF
  1093.  
  1094.     ENDIF    ; TARGET_OS_MAC
  1095.     ENDIF    ; QTVR_OLD_CALLS
  1096.  
  1097. ;  =================================================================================================
  1098. ;    Buffer Access 
  1099. ;  -------------------------------------------------------------------------------------------------
  1100.  
  1101.  
  1102.  
  1103. ;
  1104. ; extern OSErr QTVRSetPrescreenImagingCompleteProc(QTVRInstance qtvr, QTVRImagingCompleteUPP imagingCompleteProc, SInt32 refCon, UInt32 flags)
  1105. ;
  1106.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1107.         IMPORT_CFM_FUNCTION QTVRSetPrescreenImagingCompleteProc
  1108.     ENDIF
  1109.  
  1110. ;
  1111. ; extern OSErr QTVRSetBackBufferImagingProc(QTVRInstance qtvr, QTVRBackBufferImagingUPP backBufferImagingProc, UInt16 numAreas, QTVRAreaOfInterest areasOfInterest[2147483647], SInt32 refCon)
  1112. ;
  1113.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1114.         IMPORT_CFM_FUNCTION QTVRSetBackBufferImagingProc
  1115.     ENDIF
  1116.  
  1117. ;
  1118. ; extern OSErr QTVRRefreshBackBuffer(QTVRInstance qtvr, UInt32 flags)
  1119. ;
  1120.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1121.         IMPORT_CFM_FUNCTION QTVRRefreshBackBuffer
  1122.     ENDIF
  1123.  
  1124.  
  1125.  
  1126.  
  1127. ;  =================================================================================================
  1128. ;    Old Names
  1129. ;  -------------------------------------------------------------------------------------------------
  1130.  
  1131.  
  1132.     IF OLDROUTINENAMES THEN
  1133. CursorRecord            RECORD 0
  1134. f                         ds        QTVRCursorRecord
  1135. sizeof                     EQU *                    ; size:   $8 (8)
  1136.                         ENDR
  1137.  
  1138.  
  1139. AreaOfInterest            RECORD 0
  1140. f                         ds        QTVRAreaOfInterest
  1141. sizeof                     EQU *                    ; size:   $14 (20)
  1142.                         ENDR
  1143.  
  1144.  
  1145. FloatPoint                RECORD 0
  1146. f                         ds        QTVRFloatPoint
  1147. sizeof                     EQU *                    ; size:   $8 (8)
  1148.                         ENDR
  1149.  
  1150.  
  1151. ; typedef QTVRLeavingNodeProcPtr         LeavingNodeProcPtr
  1152.  
  1153. ; typedef QTVRLeavingNodeUPP             LeavingNodeUPP
  1154.  
  1155. ; typedef QTVREnteringNodeProcPtr         EnteringNodeProcPtr
  1156.  
  1157. ; typedef QTVREnteringNodeUPP             EnteringNodeUPP
  1158.  
  1159. ; typedef QTVRMouseOverHotSpotProcPtr     MouseOverHotSpotProcPtr
  1160.  
  1161. ; typedef QTVRMouseOverHotSpotUPP         MouseOverHotSpotUPP
  1162.  
  1163. ; typedef QTVRImagingCompleteProcPtr     ImagingCompleteProcPtr
  1164.  
  1165. ; typedef QTVRImagingCompleteUPP         ImagingCompleteUPP
  1166.  
  1167. ; typedef QTVRBackBufferImagingProcPtr     BackBufferImagingProcPtr
  1168.  
  1169. ; typedef QTVRBackBufferImagingUPP         BackBufferImagingUPP
  1170.  
  1171.     ENDIF    ; OLDROUTINENAMES
  1172.  
  1173.     ENDIF ; __QUICKTIMEVR__ 
  1174.  
  1175.